package com.fiuba.aterrizar.servidor.domain;

import com.fiuba.aterrizar.servidor.conf.ObjectFactory;
import com.fiuba.aterrizar.servidor.dal.dao.ReservaDAO;
import java.util.Date;

public class Reserva {
    private String codigo;
    private Date fecha;
    private Date fechaCompra;
    private String codigoUsuario;
    private String codigoVuelo;
    private String clase;
    
    
    /** Busca una Reseva segun su codigo */
    public static Reserva findByCodigo(String codigo) {
        ReservaDAO reservaDAO = (ReservaDAO) ObjectFactory.getObject(ReservaDAO.class);
        return reservaDAO.findByCodigo(codigo);
    }
    
    public static void eliminarReservasVencidas(){
        ReservaDAO reservaDAO = (ReservaDAO) ObjectFactory.getObject(ReservaDAO.class);
        reservaDAO.eliminarReservasVencidas();
    }
    
    /** Genera Codigo */
    public static String generarCodigo(String idUsuario, String numeroTransaccion) {
        return numeroTransaccion + idUsuario;
    }
    
    
    public void save() {
        ReservaDAO reservaDAO = (ReservaDAO) ObjectFactory.getObject(ReservaDAO.class);
        reservaDAO.save(this);
    }
    
    public void update() {
        ReservaDAO reservaDAO = (ReservaDAO) ObjectFactory.getObject(ReservaDAO.class);
        reservaDAO.update(this);
    }
    
    public String getCodigo() {
        return codigo;
    }
    
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
    
    public Date getFecha() {
        return fecha;
    }
    
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }
    
    public Date getFechaCompra() {
        return fechaCompra;
    }
    
    public void setFechaCompra(Date fechaCompra) {
        this.fechaCompra = fechaCompra;
    }
    
    public String getCodigoUsuario() {
        return codigoUsuario;
    }
    
    public void setCodigoUsuario(String codigoUsuario) {
        this.codigoUsuario = codigoUsuario;
    }
    
    public String getCodigoVuelo() {
        return codigoVuelo;
    }
    
    public void setCodigoVuelo(String codigoVuelo) {
        this.codigoVuelo = codigoVuelo;
    }

    public String getClase() {
        return clase;
    }

    public void setClase(String clase) {
        this.clase = clase;
    }
    
    
    
    
    
}